package gurulab.merlin.bus;

import gurulab.merlin.core.envelope.Envelope;


/**
 *
 * @author Cesar Obach-Renner, cesar AT gurulab.org
 * @version 1.0
 */
public interface UVQueue{
    
    /**
     *
     * @param envelope
     * @throws java.lang.Exception
     * @author Cesar Obach-Renner, cesar AT gurulab.org
     */
    public void send (Envelope envelope) throws Exception;
    
    /**
     *
     * @throws java.lang.Exception
     * @author Cesar Obach-Renner, cesar AT gurulab.org
     */    
    public void finalize () throws Exception;
    
    /**
     *
     * @throws java.lang.Exception
     * @author Cesar Obach-Renner, cesar AT gurulab.org
     */        
    public void start () throws Exception;
    
    /**
     *
     * @throws java.lang.Exception
     * @author Cesar Obach-Renner, cesar AT gurulab.org
     */        
    public void stop () throws Exception;
}